Video coding systems may be used to compress digital video signals to reduce the storage need and/or transmission bandwidth of such signals. Video coding systems may include block-based systems, wavelet-based systems, object-based systems, etc. Block-based hybrid video coding systems may be used and deployed. Examples of block-based video coding systems include, but are not limited to, international video coding standards such as the MPEG1/2/4 part 2, H.264/MPEG-4 part 10 AVC and VC-1 standards.
With the growth of smartphones and tablets both in resolution and computation capability, additional video applications, such as video chat, mobile video recording and sharing, and video streaming, may transmit video data in heterogeneous environments. Scenarios such as 3-screen and N-screen that consider various consumer devices (e.g., PCs, smartphones, tablets, TVs, etc.) may accommodate video consumption on devices with widely varying capabilities in terms of computing power, memory/storage size, display resolution, display frame rate, etc. The network and transmission channels may have widely varying characteristics in terms of packet loss rate, available channel bandwidth, burst error rate, etc. Video data may be transmitted over a combination of wired networks and wireless networks, which may further complicate the underlying transmission channel characteristics.
Scalable video coding may provide a solution to improve the quality of experience for video applications running on devices with different capabilities over heterogeneous networks.
Scalable video coding may encode a signal once at a highest representation (e.g., temporal resolution, spatial resolution, quality, etc.) and may enable decoding from subsets of the video streams depending on the specific rate and representation used by the applications running on client devices. Scalable video coding may save bandwidth and storage compared to non-scalable solutions. Video standards, such as but not limited to, MPEG-2 Video, H.263, MPEG4 Visual and H.264 may have tools and/or profiles that support some modes of scalability.